草庐IT

C++ 循环

全部标签

Windows批处理循环遍历文件夹中的文件并解析文件名

如何循环遍历文件夹中的文件并解析文件名的部分并将其存储在变量+回显中?文件夹包含以下文件,需要提取年份:Actual2015.txtActual2016.txt我尝试过的:for%%fin(*.txt)do(setyear=%%f:~7,4%echo%year%)结果应该是:20142015 最佳答案 你需要delayedexpansion:setlocalenableDelayedExpansionfor%%fin(*.txt)do(setfname=%%nfsetyear=!fname:~6,4!echo!year!)

c - FTDI。需要了解有关 FT_Write() 函数的更多详细信息

关于FT_Write()的问题功能。FT_STATUSFT_Write(FT_HANDLEftHandle,LPVOIDlpBuffer,DWORDdwBytesToWrite,LPDWORDlpdwBytesWritten)我想知道lpdwBytesWritten.它什么时候回来*lpdwBytesWritten?会FT_Write返回FT_OK以外的其他在那种情况下?一次调用FT_Write可以发送多少数据??dwBytesToWrite有什么限制?参数?我一直没能找到这些问题的答案。已阅读FTDIKnowledgebase也在D2XXProgrammer'sGuide.

windows - 使用 ATL CWindowImpl 永不结束 WM_PAINT 循环

我有一个使用CAtlExeModuleT的非常简单的Win32应用程序。该模块只是创建一个从CWindowImpl派生的类CTestWindow。它只有一个用于WM_PAINT的消息处理程序。在我创建窗口并显示它之后,无限调用OnPaint方法(WM_PAINT消息)并消耗100%的CPU。创建窗口的代码非常简单:m_pMainWnd=newCTestWindow();if(NULL==m_pMainWnd->Create(NULL,CWindow::rcDefault,_T("TestWindow"),WS_OVERLAPPEDWINDOW,0,hMenu)){DWORDdwErr=

c++ - 调试器主循环

我正在尝试在c++/Windows中实现本文中描述的“调试器主循环”:WritingtheDebugger'sMainLoop但我希望任何抛出的异常都能在屏幕上显示错误消息并被调试器捕获。我知道我可以通过给ContinueDebugEvent一些DBG_值来做到这一点???但我不知道它是什么。这个值是多少?我还注意到,当有内容写入控制台时,控制台应用程序会通知调试器异常。我怎样才能从这些东西中过滤出实际的异常?跟“第一次机会”值有关系吗?谢谢:) 最佳答案 调试器会为被调试者中发生的每个异常接收一个异常事件。如果将DBG_CONTI

C:打开的文件太多

此代码打开一个目录,对于目录中的每个文件,它循环遍历文件中的每一行数据,然后对其进行解析以进行一些计算并将结果数据输出到一个新文件中。问题是我最多只能输出大约1021个文件。输出所有数据后,我将关闭所有fopens,所以我不确定我做错了什么。fclose()不应该关闭打开的文件,因此这不会发生吗?intmain(intargc,char*argv[]){//sampledatavaluesdoublelat;doublelon;doubleconvergence;doublept_scale;intzone=54;doublemajor_axis=6378137.0000;double

c - 遇到依赖于编译器和声明的无限循环

在这个程序中有一行我创建了一个名为“疯狂整数”。如果我不创建这个变量,MinGW会创建一个无限循环!我似乎没有用任何其他编译器遇到这个问题。谁能告诉我这是怎么回事?重新创建:使用MingW下载最新版本的CodeBlocks,创建一个新的控制台项目,并尝试运行这个程序。然后,尝试删除我创建“crazy_integer”的代码行并再次运行该程序。结果应该是一个无限循环。//InthisprogramthereisalinewhereIcreateavariablecalled//"crazy_integer".////IfIdonotcreatethisvariable,CodeBlock

c - fopen 不会同时处理超过 60 个文件

我需要在我的C程序中同时打开超过60个文本文件。但是,fopen似乎无法同时处理超过60个文件。我在Windows环境下编程。我使用以下fopen语句:fopen(fileName.c_str(),"wt");其中fileName是我的txt文件的路径,名称在100个文件的循环中发生变化。有人知道使这项工作有效的任何技巧吗?或者任何替代方案? 最佳答案 如果您发出bashshell命令:ulimit-n您会看到60是打开文件句柄的限制。您可以通过以下方式更改它:ulimit-n256注意:您可以在-Sn和中看到软(-S)和硬(-H)

windows - 如何在批处理文件中使用嵌套的 FOR 循环

我有一些代码,我想在其中使用FOR循环来处理一组文件。作为处理文件的一部分,有一个FOR/F循环读取它并根据文件名将数据附加到另一个文件。为了能够设置输出文件名,我设置了延迟变量扩展。这就是我最初预期的代码应该是这样的:setlocalenabledelayedexpansionfor%%fin(DataFolder\*.Ext)do(setPOI=%%~fsetPOI=!JbPOI:DataFolder\=!setPOI=!JbPOI:.Ext=!for/f"tokens=1,2,3delims=,"%%ain("%%~f")do(setCX=%%asetCY=%%bsetFN=%%

windows - 我可以使用寄存器作为循环计数器吗?

既然函数的调用约定规定了保留哪些寄存器,那么寄存器可以用作循环计数器吗?我一开始以为ecx寄存器是用来做循环计数器的,后来发现我用的一个stdcall函数并没有保留的值>ecx,我不这么认为。是否有保证(至少通过大多数使用的调用约定)被保留的寄存器?注意:我对使用堆栈变量作为循环计数器没有问题,我只是想确保这是唯一的方法。 最佳答案 您可以使用任何通用寄存器,偶尔也可以使用其他寄存器作为循环计数器(当然不是堆栈指针☺)。要么你使用一个手动循环,即替换...looplabel……与……decebpjnzlabel...无论如何都更快(

windows - 如何测试 Windows Server 是否完全更新? (尝试创建更新/重启循环脚本)

虽然我通常使用Windows服务器的预烘焙镜像,但我偶尔会遇到这样一种情况,即我必须从头开始设置一个镜像,并经历检查更新、安装它们然后重新启动的极其繁琐的过程。很多很多很多次。我正在尝试编写一个简单的脚本来自动执行此操作。检查和安装更新很简单:wuauclt.exe/detectnow/updatenow重启也同样简单:shutdown/r/t0但我想做的是创建一个在重启后继续运行的PowerShell工作流,循环运行上述命令。我没有弄清楚的地方是:如何检查更新是否已完成。如何测试没有剩余更新可供安装(也就是Windows已完全更新并且脚本可以停止)。 最佳